@font-face {
  font-family: "Open Sans";
  src: url(../fonts/OpenSans-Regular.woff2) format("woff2"),
    url(../fonts/OpenSans-Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url(../fonts/OpenSans-SemiBold.woff2) format("woff2"),
    url(../fonts/OpenSans-SemiBold.woff) format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url(../fonts/OpenSans-Bold.woff2) format("woff2"),
    url(../fonts/OpenSans-Bold.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-size-main: 16px;
  --text-color-main: #333333;
  /* --second-main-color: #9D5CD0; */
  /* --active-state-bg-focus-color: #7943A4; */
  --white-color: #ffffff;
  --black-color: #000000;
  --light-middle-gray: #cacaca;
  --violet-dark: #7943a4;
  --violet-middle: #9d5cd0;
  --white: #ffffff;
  --violet-ultra-light: #d1a9f0;
  --violet-light: #c283f3;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: var(--font-size-main);
  font-weight: 400;
  color: var(--text-color-main);
  background-color: var(--white-color);
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
}

a:hover,
a:focus-within,
a:focus-visible,
a:focus {
  outline: none;
}

svg:focus,
svg:focus-visible,
svg:focus-within {
  outline: none;
}

p,
h1,
h2,
h3,
h4 {
  margin: 0;
}

img {
  width: 100%;
  height: 100%;
}

.btn-reset {
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  line-height: 1rem;
  background-color: transparent;
  text-align: center;
  cursor: pointer;
}

.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  margin: -1px;
}

.hidden {
  visibility: hidden;
}

.container {
  max-width: 1630px;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
}

.flex {
  display: flex;
}

.fixed {
  position: fixed;
  top: 35px;
}

.list-reset {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.section__title {
  font-weight: 400;
  font-size: 48px;
  line-height: 65px;
  margin-bottom: 16px;
}

.section__text {
  font-size: 16px;
  line-height: 32px;
}

.link-bg-focus {
  position: relative;
  z-index: 1;
  outline: none;
  transition-property: background-color, opacity;
  transition: 0.3s ease-in-out;
}

.link-bg-focus:before,
.outline-focus:before {
  content: "";
  position: absolute;
  top: -2px;
  bottom: -8px;
  left: -6px;
  right: -6px;
  background-color: var(--violet-dark);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.outline-focus:before {
  background-color: transparent;
  border: 2px solid var(--violet-middle);
  border-radius: 100px;
}

.outline-focus {
  background-color: var(--violet-middle);
  border: 2px solid var(--violet-middle);
  border-radius: 100px;
  padding: 17px 35px;
}

.link-bg-focus:focus-visible:before,
.outline-focus:focus-visible:before {
  opacity: 1;
}

.link-bg-focus:hover:not(:focus-visible) {
  color: var(--violet-middle);
}

.submenu__btn:hover:not(:focus-visible):after {
  border-color: var(--violet-middle);
}

.link-bg-focus:active:not(:focus-visible) {
  color: var(--violet-dark);
}

.submenu__active .btn__active {
  color: var(--violet-dark);
}

.btn__active.submenu__btn:not(:focus-visible):after {
  border-color: var(--violet-dark);
}

.outline-focus:hover:not(:focus-visible) {
  background-color: transparent;
  border: 2px solid var(--violet-middle);
}

.outline-focus:active:not(:focus-visible),
.outline-focus.active:active {
  background-color: var(--violet-dark);
  border-color: #d1a9f0;
}

.header {
  min-height: 100px;
}

.header__menu-main {
  position: relative;
  width: 100%;
  min-height: 100px;
  background: var(--black-color);
  align-items: center;
}

.header__menu-container {
  align-items: center;
  justify-content: space-between;
}

.burger {
  display: none;
  position: relative;
  width: 36px;
  height: 28px;
}

.burger-strokes {
  position: absolute;
  left: 0;
  width: 36px;
  height: 3.65px;
  background-color: #fff;
  transition-property: transform, opacity, background-color;
  transition-duration: 0.3s;
}
.burger-strokes:nth-child(1) {
  transform: translateY(-10.35px);
}

.burger-strokes:nth-child(2) {
  width: 28.2px;
}

.burger-strokes:nth-child(3) {
  transform: translateY(10.35px);
  width: 24px;
}

.header__menu-main.open .burger {
  width: 29px;
  height: 29px;
}

.header__menu-main.open .burger-strokes:nth-child(1) {
  width: 29px;
  transform: translateY(0) rotate(45deg);
  transform-origin: center center;
}

.header__menu-main.open .burger-strokes:nth-child(2) {
  opacity: 0;
}

.header__menu-main.open .burger-strokes:nth-child(3) {
  width: 29px;
  transform: translateY(0) rotate(-45deg);
  transform-origin: center center;
}

.search {
  display: none;
}

.logo {
  min-width: 173px;
  height: 40px;
  margin-right: 179px;
  transition: transform 0.3s ease-in-out;
}

.logo:hover {
  transform: scale(1.1);
}

.header__menu {
  display: flex;
  width: 100%;
}

.header__menu-item:not(:last-child) {
  margin-right: 62px;
}

.header__menu-link {
  display: block;
  font-weight: 600;
  font-size: 18px;
  line-height: 25px;
  color: var(--white-color);
}

.header__menu-enter {
  display: flex;
  cursor: pointer;
  align-items: center;
  /* position: relative; */
  margin-left: auto;
  font-size: 18px;
  font-weight: 400;
  color: var(--white-color);
  transition: color 0.3s ease-in-out;
}

.header__menu-enter-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  transition-property: margin-left, padding-left;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.header__menu-enter-img {
  margin-left: -4px;
  margin-right: 7px;
}

.header__menu-enter:hover .header__menu-enter-wrap {
  margin-left: -4px;
  padding-left: 4px;
}

.header__menu-enter .header__menu-enter-wrap > svg > path {
  transition: fill 0.3s ease-in-out;
}

.header__menu-enter:hover .header__menu-enter-wrap > svg > path {
  fill: var(--violet-middle);
}

.header__menu_entrance.link-bg-focus:before,
.outline-focus:before {
  top: -6px;
}

.header__menu_entrance:hover:not(:focus-visible) .header__menu_entrance--link {
  color: var(--violet-middle);
}

.header__menu_entrance:hover:not(:focus-visible)
  .header__menu_entrance--img
  path {
  fill: var(--violet-middle);
}

.header__menu_entrance:active:not(:focus-visible) .header__menu_entrance--link {
  color: var(--violet-dark);
}

.header__menu_entrance:active:not(:focus-visible)
  .header__menu_entrance--img
  path {
  fill: var(--violet-dark);
}

.header__menu_entrance--img {
  margin-right: 7px;
}

.header__menu_entrance--img path {
  transition: fill 0.3s ease-in-out;
}

.header__menu_entrance--link {
  color: var(--white-color);
  transition: color 0.3s ease-in-out;
}

.header__search {
  position: absolute;
  display: flex;
  top: -100px;
  right: 0;
  align-items: center;
  visibility: hidden;
  width: 325px;
  height: 100%;
  transition: top 0.3s linear;
}

.header__search-form {
  margin-right: 24px;
}

.header__search-button {
  margin-right: 11px;
}

.header__search-input {
  background-color: transparent;
  color: var(--white-color);
  outline: none;
  border: none;
  border-bottom: 1px solid var(--white-color);
  transition: border-color 0.3s ease-in-out;
}
/* .burger__icon rect {
  transition: fill 0.3s ease-in-out;
}
.burger__icon path {
  transition: fill 0.3s ease-in-out;
}
.burger:hover .burger__icon-burger rect {
  fill: #c283f3;
}
.burger:hover .burger__icon-burger path {
  fill: #c283f3;
}
.burger:focus-within .burger__icon-burger rect {
  fill: #c283f3;
}
.burger:focus-within .burger__icon-burger path {
  fill: #c283f3;
}
.burger:active .burger__icon-burger rect {
  fill: var(--violet-dark);
}
.burger:active .burger__icon-burger path {
  fill: var(--violet-dark);
} */

.header__search-form:hover .header__search-input {
  border-bottom-color: #c283f3;
}
.header__search-form:focus .header__search-input {
  border-bottom-color: #c283f3;
}
.header__search-form:active .header__search-input {
  border-bottom-color: var(--violet-dark);
}
.search-icon path {
  transition: fill 0.3s ease-in-out;
}
.search-icon rect {
  transition: fill 0.3s ease-in-out;
}
.search:hover .search-icon path {
  fill: #c283f3;
}
.search:hover .search-icon rect {
  fill: #c283f3;
}
.search:focus .search-icon path {
  fill: #c283f3;
}
.search:focus .search-icon rect {
  fill: #c283f3;
}
.search:active .search-icon path {
  fill: var(--violet-dark);
}
.search:active .search-icon rect {
  fill: var(--violet-dark);
}

/* .header__search-button:hover .search-icon path {
  fill: #c283f3;
}
.header__search-button:hover .search-icon rect {
  fill: #c283f3;
}
.header__search-button:focus .search-icon path {
  fill: #c283f3;
}
.header__search-button:focus .search-icon rect {
  fill: #c283f3;
}
.header__search-button:active .search-icon path {
  fill: var(--violet-dark);
}
.header__search-button:active .search-icon rect {
  fill: var(--violet-dark);
} */
/* .search-icon:hover path {
  fill: #c283f3;
} */
/* --------------------------------- Submenu -------------------------------- */

.header__menu-submenu {
  position: absolute;
  top: 100%;
  width: 100%;
  min-height: 70px;
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  z-index: 2;
}

.submenu__active {
  background-color: #333333;
}

.dropdown {
  background-color: #333333;
  width: 220px;
  padding: 40px;
  padding-right: 20px;
  position: absolute;
  top: 100%;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.dropdown.dropdown__active {
  visibility: visible;
  opacity: 1;
}

.dropdown__simplebar {
  max-height: 220px;
  padding-right: 20px;
}

.dropdown__item {
  position: relative;
  display: flex;
  min-height: 40px;
  padding-left: 14px;
  align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.dropdown__link {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 19px;
}

.dropdown__link:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.dropdown__link:active:after {
  background: linear-gradient(
    0deg,
    rgba(194, 131, 243, 0.4),
    rgba(194, 131, 243, 0.4)
  );
}

.dropdown__link:focus:after,
.dropdown__link:focus-within:after,
.dropdown__link:hover:after {
  box-shadow: inset 0px 0px 0px 2px var(--violet-middle);
}

.dropdown__item:not(:last-child) {
  margin-bottom: 20px;
}

.dropdown__simplebar .simplebar-track.simplebar-vertical {
  background-color: var(--black-color);
  width: 2px;
}

.dropdown__simplebar .simplebar-scrollbar {
  width: 2px;
  background-color: var(--white-color);
}

.submenu__item:not(:last-child) {
  margin-right: 96px;
}

.submenu__btn {
  background-color: transparent;
  border: none;
  color: var(--white-color);
  font-size: 18px;
  line-height: 25px;
  text-align: center;
  cursor: pointer;
}
/* ------------ Стилизуем "птичку выбора" ------------*/

.submenu__btn:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 54%;
  height: 7px;
  width: 7px;
  border: 1px solid var(--white-color);
  border-width: 0 0 1px 1px;
  transform: rotate(-45deg);
  margin-left: 5px;
  margin-top: -6px;
  margin-bottom: 4px;
  transition-property: border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.submenu__btn.btn__active:after {
  border-width: 1px 1px 0 0;
  margin-top: -2px;
  margin-bottom: 0;
  transition-property: border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
/* ------------------------------------------------ */

.dropdown__item--tintoretto {
  background-image: url(../img/header/submenu/realism/Tintoretto_1x.png);
}

.dropdown__item--fridrich {
  background-image: url(../img/header/submenu/realism/Fridrich_1x.png);
}

.dropdown__item--leonardo {
  background-image: url(../img/header/submenu/realism/Leonardo_1x.png);
}

.dropdown__item--verokkio {
  background-image: url(../img/header/submenu/realism/Verokkio_1x.png);
}

.dropdown__item--mone {
  background-image: url(../img/header/submenu/Impressionism/Mone_1x.png);
}

.dropdown__item--sisley {
  background-image: url(../img/header/submenu/Impressionism/Sisley_1x.png);
}

.dropdown__item--mane {
  background-image: url(../img/header/submenu/Impressionism/Mane_1x.png);
}

.dropdown__item--renuar {
  background-image: url(../img/header/submenu/Impressionism/Renuar_1x.png);
}

.dropdown__item--vangogh {
  background-image: url(../img/header/submenu/PostImpressionism/VanGogh_1x.png);
}

.dropdown__item--sesann {
  background-image: url(../img/header/submenu/PostImpressionism/Sezan_1x.png);
}

.dropdown__item--gogen {
  background-image: url(../img/header/submenu/PostImpressionism/Gogen_1x.png);
}

.dropdown__item--sera {
  background-image: url(../img/header/submenu/PostImpressionism/Sera_1x.png);
}

.dropdown__item--kandinskiy {
  background-image: url(../img/header/submenu/Avangard/Kandinskiy_1x.png);
}

.dropdown__item--marinetti {
  background-image: url(../img/header/submenu/Avangard/Marinetti_1x.png);
}

.dropdown__item--malevich {
  background-image: url(../img/header/submenu/Avangard/Malevich_1x.png);
}

.dropdown__item--picasso {
  background-image: url(../img/header/submenu/Avangard/Picasso_1x.png);
}

.dropdown__item--karra {
  background-image: url(../img/header/submenu/Futurism/Karra_1x.png);
}

.dropdown__item--pratella {
  background-image: url(../img/header/submenu/Futurism/Pratella_1x.png);
}

.dropdown__item--severini {
  background-image: url(../img/header/submenu/Futurism/Severini_1x.png);
}

.dropdown__item--balla {
  background-image: url(../img/header/submenu/Futurism/Balla_1x.png);
}

.submenu__search-form {
  display: flex;
  width: 251px;
  color: #fff;
}

.submenu__search-label {
  width: 100%;
}

.submenu__search-input {
  width: 100%;
}

.submenu__search-form:hover .submenu__search-input {
  border-bottom-color: #c283f3;
}

.submenu__search-form:focus .submenu__search-input {
  border-bottom-color: #c283f3;
}

.submenu__search-form:active .submenu__search-input {
  border-bottom-color: #7943a4;
}

/* -------------------------------- HERO SECTION ---------------------------- */

.hero {
  display: flex;
  position: relative;
  min-height: 700px;
  word-wrap: break-word;
}

.hero__container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  align-items: flex-start;
  /* position: relative; */
  max-width: 597px;
  padding-top: 133px;
  padding-bottom: 122px;
  z-index: 1;
}

.hero .hero__swiper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.hero__title {
  font-weight: 700;
  font-size: 72px;
  line-height: 96px;
  margin-bottom: 1px;
  color: var(--white-color);
}

.hero__text {
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  color: var(--white-color);
}

.hero__link {
  margin-top: auto;
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  min-height: 70px;
  text-align: center;
  padding: 17px 35px;
  color: var(--white-color);
  border-radius: 100px;
  background-color: var(--violet-middle);
  transition-property: border, background-color, outline, box-shadow;
  transition: 0.3s ease-in-out;
}
.hero__link:after {
  content: "";
  position: absolute;
  top: -4px;
  left: -5px;
  right: -5px;
  bottom: 0px;
  height: 112%;
  border: 2px solid var(--violet-middle);
  border-radius: 100px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.hero__link:hover {
  box-shadow: inset 0 0 0 3px var(--violet-ultra-light);
  /* outline: 3px solid var(--violet-ultra-light); */
}
.hero__link:focus::after,
.hero__link:focus-visible::after {
  opacity: 1;
}
.hero__link:active {
  background-color: #7943a4;
  box-shadow: inset 0 0 0 3px var(--violet-ultra-light);
  /* outline: 3px solid var(--violet-ultra-light); */
}
/* -------------------------------- ABOUT SECTION ---------------------------- */

.section__container {
  max-width: 1080px;
}
/* ----------------------------------- GALLERY SECTION --------------------------- */

.gallery {
  background: url(../img/gallery/gallery-background_desctop1x.png);
  position: relative;
}

.content-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.gallery-left-elem {
  display: flex;
  flex-direction: column;
  width: calc(400 / 1600 * 100%);
}

.gallery__title {
  color: var(--white-color);
}

.gallery-select-filter-text {
  font-weight: 600;
  font-size: 16px;
  line-height: 200%;
  color: var(--white-color);
  margin-bottom: 10px;
}

.choices__inner {
  min-height: 40px;
  padding: 0;
  /* padding-top: 3px; */
  /* padding-bottom: 5px; */
  padding-left: 16px;
  border: 1px solid var(--white-color);
  border-radius: 6px;
  background-color: transparent;
  font-size: 16px;
  line-height: 32px;
  color: var(--white-color);
}

.choices__inner:hover {
  background: rgba(255, 255, 255, 0.2);
}

.choices[data-type*="select-one"] .choices__inner {
  padding-bottom: 5px;
}

.is-focused .choices__inner,
.choices.is-open .choices__inner {
  border-radius: 6px;
  border-color: var(--white-color);
}

.is-active.choices__list--dropdown,
.is-active.choices__list[aria-expanded] {
  border-radius: 6px;
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
  font-size: 16px;
  line-height: 32px;
  border: 1px solid #999999;
  background: var(--black-color);
  /* background-color: transparent; */
  color: #999999;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: rgba(255, 255, 255, 0.2);
  color: var(--white-color);
}

.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item {
  font-size: 16px;
  line-height: 32px;
}

.is-selected {
  display: none;
}

.choices__list--single {
  padding: 0;
}

.choices__placeholder {
  opacity: 1;
}

.choices[data-type*="select-one"]::after {
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 14px;
  width: 8px;
  height: 8px;
  border: 1px solid white;
  transform: rotate(135deg);
  border-bottom-color: transparent;
  border-left-color: transparent;
  transition: transform 0.3s ease-in-out;
}

.choices[data-type*="select-one"].is-open::after {
  border-color: transparent;
  border: 1px solid white;
  border-bottom-color: transparent;
  border-left-color: transparent;
  top: calc(50% + 3px);
  transform: rotate(-45deg);
}

.gallery-left-elem-bottom {
  font-size: 16px;
  line-height: 32px;
  color: var(--white-color);
  margin-top: auto;
}

.gallery-checkbox__label {
  display: flex;
  position: relative;
  cursor: pointer;
  align-items: center;
  padding-left: 24px;
  transition: color 0.3s ease-in-out;
}

.gallery-checkbox__input {
  display: none;
}

.gallery-checkbox__item:not(:last-child) {
  margin-bottom: 20px;
}

.gallery-checkbox__input + .gallery-checkbox__checked {
  position: absolute;
  width: 12px;
  height: 12px;
  left: 0;
  border: 1px solid var(--white-color);
  transition: border-color 0.3s ease-in-out;
}

.gallery-checkbox__input + .gallery-checkbox__checked:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.gallery-checkbox__input:checked + .gallery-checkbox__checked:before {
  opacity: 1;
  background-image: url(../img/gallery/check-circle-img.svg);
  background-position: center;
  background-repeat: no-repeat;
}

.gallery-checkbox__input:checked + .gallery-checkbox__checked {
  border-color: #c283f3;
}

.gallery-checkbox__label:focus {
  outline: none;
  color: #c283f3;
}

.gallery-checkbox__label:focus > .gallery-checkbox__checked {
  outline: none;
  border-color: #c283f3;
}

.gallery-checkbox__label:hover:not(:focus-visible)
  > .gallery-checkbox__checked {
  border-color: #c283f3;
}

.gallery-checkbox__input:checked > .gallery-checkbox__label {
  color: #c283f3;
}
.gallery-right-elem {
  display: flex;
  flex-direction: column;
  width: calc(1150 / 1600 * 100%);
  align-items: flex-start;
  padding-top: 25px;
}

.gallery-swiper {
  display: flex;
  /* width: calc(1150 / 1600 * 100%); */
  height: 350px;
  margin-right: 0;
  align-self: normal;
  flex-grow: 1;
}

.slides-container {
  overflow: hidden;
}

.gallery-navigation {
  display: inline-flex;
  align-items: center;
  margin-bottom: 30px;
}

.gallery-pagination {
  margin-right: 21px;
  text-align: center;
  /* color: #373850; */
  color: var(--white-color);
}

.nav-btn {
  position: relative;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background-color: #666666;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition-property: background-color, outline-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.nav-btn::before {
  content: "";
  position: absolute;
  top: calc(50% - 7px / 2);
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  transform-origin: center;
}

.nav-btn.swiper-button-disabled {
  /* cursor: auto; */
  background-color: rgba(102, 102, 102, 0.5);
  /* z-index: -10; */
}

.nav-btn-prev--gallery {
  margin-right: 10px;
}

.nav-btn-next::before {
  left: calc(50% - 9px / 2);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.nav-btn-prev::before {
  left: calc(50% - 5px / 2);
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.nav-btn:hover {
  background-color: var(--violet-ultra-light);
}
.nav-btn:focus {
  outline: 2px solid var(--violet-middle);
}
.nav-btn:active {
  background-color: var(--violet-ultra-light);
  outline: 2px solid var(--violet-middle);
}

.nav-btn-gallery:hover {
  background-color: var(--violet-middle);
}
.nav-btn-gallery:focus {
  outline: 2px solid var(--violet-middle);
}
.nav-btn-gallery:active {
  background-color: var(--violet-dark);
  outline: 2px solid var(--violet-middle);
}

.nav-btn:hover.swiper-button-disabled {
  background-color: rgba(102, 102, 102, 0.5);
  cursor: auto;
}

.gallery-slide {
  position: relative;
  overflow: hidden;
  /* background-color: #926b88; */
}

.gallery-slide::before {
  content: "";
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  padding-top: calc(100% - 5px);
  border: 3px solid transparent;
  box-sizing: border-box;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.gallery-slide::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 25px;
  box-sizing: border-box;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url("../img/gallery/loop_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-clip: content-box;
  transition: opacity 0.5s ease-in-out;
}

.gallery-slide:hover::after {
  opacity: 1;
}

.gallery-slide:focus {
  outline: none;
}

.gallery-slide:focus::before {
  border-color: #7943a4;
}

.gallery-slide:active::before {
  border-color: #d1a9f0;
  background-color: rgba(194, 131, 243, 0.4);
}

.gallery-slide:active::after {
  opacity: 1;
}

.gallery-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  z-index: -1;
  opacity: 0;
  overflow: auto;
  transition: opacity 0.5s, z-index 0.5s ease-in-out;
}

.modal.open {
  z-index: 1000;
  opacity: 1;
}

.modal__window {
  position: relative;
  width: 900px;
  min-height: 500px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
}

.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 0;
}

.gallery-modal__window {
  display: flex;
  font-size: 0;
  background-color: var(--white-color);
  box-shadow: 0 0 80px 0 rgba(0, 0, 0, 0.8);
}
.modal-close-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  line-height: 0;
}

.modal-close-icon > .close-icon {
  transition: fill 0.5s ease-in-out;
}

.modal-close-icon:hover > .close-icon,
.modal-close-icon:focus:not(:hover):not(:active) > .close-icon {
  fill: var(--violet-middle);
}

.modal-close-icon:active > .close-icon {
  fill: var(--violet-dark);
}

.gallery-modal__picture {
  flex-shrink: 0;
}

.gallery-modal__descr {
  /* width: 55.56%; */
  align-self: center;
  padding-left: 48px;
  padding-right: 50px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.painter-name {
  font-weight: 600;
  font-size: 24px;
  color: #333;
}

.painter-name--gallery-modal {
  margin-bottom: 5px;
}

.picture-title {
  font-weight: 600;
  font-size: 16px;
  color: #333;
}

.picture-dates {
  font-weight: 400;
  font-size: 12px;
  color: #999;
}

.picture-dates--gallery-modal {
  margin-bottom: 39px;
}

.descr-text {
  font-weight: 400;
  font-size: 16px;
  color: #333;
}

/* -------------------------- CATALOG --------------------------- */

.catalog__container {
  margin-bottom: 40px;
}

.catalog__wrap {
  display: flex;
  justify-content: space-between;
}

.catalog__painter-info {
  display: none;
}

.catalog__painter-info.active {
  display: block;
  animation-name: fade-in;
  animation-duration: 0.5s;
}

.catalog-image-empty {
  width: 31.5%;
  height: 50.25%;
}

.catalog__painter-info-empty-img-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 470px;
  margin-bottom: 30px;
  background-color: #ececec;
}

.catalog-painter-name-empty {
  font-weight: 600;
  font-size: 24px;
  color: #666666;
  text-align: center;
}

.catalog-painter-link-empty {
  color: var(--violet-middle);
}

.catalog-image {
  margin-bottom: 27px;
}

.catalog-painter-title {
  font-weight: 600;
  font-size: 24px;
  line-height: 33px;
  margin-bottom: 8px;
}

.catalog-painter-date {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #999999;
  margin-bottom: 15px;
}

.catalog-painter-description {
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 15px;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.catalog__accordion {
  width: calc(800 / 1600 * 100%);
}

.catalog__content-wrap {
  width: calc(750 / 1600 * 100%);
}

.accordion__question:first-child .accordion__heading {
  border-top: 1px solid var(--light-middle-gray);
}

.accordion__heading {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 0;
  margin-top: -1px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid var(--light-middle-gray);
  border-right: none;
  border-left: none;
  padding-top: 41px;
  padding-bottom: 41px;
  padding-left: 0;
  font-size: 24px;
  text-align: left;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.accordion__question:first-child .accordion__heading:hover,
.accordion__heading:hover {
  border-color: var(--violet-middle);
}

.accordion__question:first-child .accordion__heading:active,
.accordion__heading:active,
.is-active.accordion__question:first-child .accordion__heading,
.is-active.accordion__question .accordion__heading {
  border-color: var(--violet-dark);
}

.accordion__heading-text {
  position: relative;
}

.accordion__heading-text-wrap {
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
}

.accordion__heading-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 8px);
  height: 100%;
  transform: translate(-50%, -50%) scaleX(0);
  background-color: var(--violet-middle);
  transition: transform 0.3s ease;
}

.accordion__heading:hover {
  color: var(--violet-middle);
}

.accordion__heading:active {
  color: var(--violet-dark);
}

.accordion__heading:focus:not(:active) {
  color: var(--white);
  outline: none;
}

.accordion__heading:focus:not(:active) .accordion__heading-text::before {
  transform: translate(-50%, -50%) scaleX(1);
}

.head-icon {
  position: absolute;
  top: 50%;
  right: 0;
  width: 50px;
  height: 50px;
  transform: translateY(-50%) rotate(-180deg);
  transition: background-color.3s, 0.6s ease, transform 0.3s, 0.6s ease;
}

.head-icon-round {
  transition: fill 0.5s ease, stroke 0.5s ease;
}

.accordion__heading:hover .head-icon-round,
.accordion__heading:focus .head-icon-round {
  fill: var(--violet-ultra-light);
  stroke: var(--violet-ultra-light);
}

.accordion__heading:hover .head-icon::before,
.accordion__heading:hover .head-icon::after,
.accordion__heading:focus .head-icon::before,
.accordion__heading:focus .head-icon::after {
  background-color: var(--white);
}

.is-active .head-icon {
  transform: translateY(-50%) rotate(0);
}

.is-active .accordion__heading .head-icon-round {
  fill: var(--violet-ultra-light);
  stroke: var(--violet-middle);
}

.accordion__content {
  overflow: hidden;
  visibility: hidden;
  margin-top: -1px;
  border-bottom: 1px solid transparent;
}

.is-active .accordion__content {
  visibility: visible;
  border-color: var(--light-middle-gray);
}

.accordion__content-wrap {
  padding-top: 26px;
  padding-bottom: 58px;
}

.content-plug-wrap {
  display: flex;
  max-width: 575px;
  justify-content: space-between;
  align-items: center;
}

.content-plug-left {
  position: relative;
  width: 251px;
  min-height: 165px;
  margin: 12px;
  background-color: #999999;
}

.content-plug-left::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  background-color: transparent;
  border: 2px solid #999;
}

.content-plug-right {
  width: 275px;
}

.content-plug__title {
  font-weight: 600;
  line-height: 133%;
  font-size: 24px;
  color: #333;
  margin-bottom: 5px;
}

.content-plug__text {
  font-weight: 400;
  font-size: 16px;
  color: #333;
  margin-bottom: 5px;
}

.text {
  margin-top: 0;
  margin-bottom: 20px;
}

.accordion__inner-list {
  width: 91%;
  column-count: 3;
}

.accordion__painter-link.active {
  color: var(--violet-dark);
}

.link {
  position: relative;
  display: inline-block;
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: color 0.3s;
}

.link::before {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  top: -3px;
  bottom: -3px;
  background-color: var(--violet-dark);
  transform: scaleX(0);
  transition: transform 0.3s;
}

.link:hover {
  color: var(--violet-light);
}

.link:focus {
  outline: none;
}

.link:focus:not(:hover):not(:active)::before {
  transform: scaleX(1);
}

.link:active {
  color: var(--violet-dark);
  transition: none;
}

.link--text {
  color: var(--violet-light);
  transition: color 0.3s;
}

.link--text::before {
  left: -1px;
  right: -1px;
}

.link--text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: currentColor;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}

.link--text:hover::after {
  transform: scaleX(1);
}

.link--text:focus:not(:hover):not(:active) {
  color: var(--white);
}

.link__text {
  position: relative;
  line-height: 32px;
}

.link__icon {
  width: 100%;
}

/* Link another */

.link--text-another {
  color: var(--black-color);
}

.link--text-another:hover {
  color: var(--violet-dark);
}

.link--text-another:focus:not(:hover):not(:active) {
  color: var(--white);
}

.link--text-another::before {
  top: 0;
  bottom: 0;
  left: -3px;
  right: -3px;
  background-color: var(--violet-middle);
}

.link--text-another:active {
  color: var(--violet-dark);
}

.link--text-another:active::after {
  transform: scaleX(0);
}
/* --------------------- EVENTS ------------------------ */
.events {
  padding-top: 0;
  padding-bottom: 80px;
}
.events__card {
  display: flex;
  flex-direction: column;
  width: 500px;
  min-height: 700px;
  height: auto;
  outline: 1px solid #cacaca;
}

.events-swiper-container {
  width: 100%;
  height: auto;
  position: relative;
}

.events__slider {
  overflow: hidden;
  padding: 1px;
}

.events__nav-btn {
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  background-color: #ececec;
  z-index: 10;
}

.events__nav-btn-prev {
  left: -25px;
  margin-right: 0;
}

.events__nav-btn-next {
  right: -25px;
}

.events__nav-btn.nav-btn:before {
  width: 12px;
  height: 12px;
  top: calc(50% - 12px / 2);
  border-color: black;
}
.events__nav-btn-next.nav-btn:before {
  left: calc(50% - 17px / 2);
}
.events__nav-btn-prev.nav-btn:before {
  left: calc(50% - 9px / 2);
}

.events__nav-btn.swiper-button-disabled {
  display: none;
}

.events-pagination {
  display: none;
}

.events-pagination > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin-right: 15px;
  margin-left: 0;
}

.events-pagination > .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin-right: 15px;
  background: var(--light-middle-gray);
}
.events-pagination > .swiper-pagination-bullet-active {
  background: #666666;
}

.events__card-container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 13px 50px 49px 50px;
}

.events__card-img {
  height: auto;
}

.events__card-placeanddate {
  font-weight: 600;
  font-size: 12px;
  color: #999999;
  margin-bottom: 13px;
}

.events__card-title {
  font-weight: 600;
  font-size: 24px;
  color: var(--text-color-main);
  margin-bottom: 10px;
}

.events__card-descr {
  font-weight: 400;
  font-size: 16px;
  line-height: 200%;
  color: var(--text-color-main);
}
.events__card-moredetails {
  margin-top: auto;
  position: relative;
  text-decoration: none;
  cursor: pointer;
  font-weight: 400;
  font-size: 16px;
  line-height: 200%;
  color: var(--violet-middle);
  width: fit-content;
  transition-property: color, background-color;
  transition: 0.3s ease-in-out;
}
.events__card-moredetails::after {
  content: "";
  position: absolute;
  height: 1px;
  background: currentColor;
  right: 0;
  bottom: 0;
  width: 100%;
}
.events__card-moredetails:hover {
  color: #7943a4;
}
.events__card-moredetails:hover:not(:focus-visible) {
  color: #7943a4;
}
.events__card-moredetails:focus-visible {
  color: var(--white-color);
}
.events__card-moredetails:active {
  color: var(--text-color-main);
}
.events__card-moredetails:active:not(:focus-visible) {
  color: var(--text-color-main);
}
.events__card-moredetails:visited {
  color: var(--text-color-main);
}

/* --------------------- PROJECTS SECTION ------------------- */
.projects {
  /* margin: 0 15px; */
  padding-top: 0;
}
.project-partners-title {
  font-weight: 600;
  font-size: 24px;
  line-height: 33px;
  margin-bottom: 15px;
}

.projects-descr {
  margin-bottom: 30px;
}
.marker-tippy {
  vertical-align: middle;
}
.marker-tippy:hover .tippy-svg .tippy-svg__circle-element {
  fill: #d1a9f0;
}
.marker-tippy:focus .tippy-svg .tippy-svg__circle-element {
  fill: #d1a9f0;
}
.marker-tippy:active .tippy-svg .tippy-svg__circle-element {
  fill: #9d5cd0;
}
.marker-tippy:active .tippy-svg .tippy-svg__info-element {
  fill: white;
}
.projects__swiper-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: auto;
}
.projects__swiper {
  overflow: hidden;
  padding: 1px;
}
.projects__nav-btn {
  width: 30px;
  height: 30px;
  background-color: #ececec;
}
.projects__nav-btn.nav-btn-next::before {
  border-color: #000000;
}
.projects__nav-btn.nav-btn-prev::before {
  border-color: #000000;
}
.nav-btn-prev--project {
  margin-right: 30px;
}
.nav-btn-next--projects {
  margin-left: 30px;
}
.projects__slide {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 150px;
  padding: 32px 60px;
  border: 1px solid #cacaca;
  outline: none;
}
.projects__slide-image {
  /* max-height: 100%; */
  filter: grayscale(1);
  opacity: 0.4;
  transition-property: filter, opacity;
  transition-duration: 0.5s;
}

.projects__slide:hover .projects__slide-image {
  filter: grayscale(0);
  opacity: 1;
}
.projects__slide:focus {
  border-color: var(--violet-middle);
}

.projects__slide:active {
  border-color: var(--violet-middle);
}

.projects__slide:active .projects__slide-image {
  filter: grayscale(0);
  opacity: 1;
}

/* --------------------- CONTACTS SECTION -------------------- */
.contacts {
  padding-bottom: 0;
}
.contacts-upper-part {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 154px;
  padding: 38px 0;
  /* outline: 1px solid red; */
}
.contacts-upper-part__address {
  display: flex;
  flex-direction: column;
}
.contacts__address-name {
  font-weight: 600;
  font-size: 24px;
  line-height: 133%;
  color: var(--text-color-main);
}
.contacts__address-location {
  font-weight: 400;
  font-size: 16px;
  line-height: 200%;
  color: var(--text-color-main);
}
.contacts-upper-part__inputs {
  display: flex;
  flex-wrap: wrap;
}
.contacts__form {
  display: flex;
}
.contacts__input-wrap {
  display: flex;
}
.contacts__input {
  box-sizing: border-box;
  width: 270px;
  height: 50px;
  padding: 9px 24px;
  font-weight: 400;
  font-size: 16px;
  line-height: 200%;
  border: 1px solid #333;
  border-radius: 100px;
  /* outline: none; */
  margin-right: 20px;
}

.contacts__button {
  position: relative;
  /* box-sizing: border-box; */
  width: 329px;
  height: 50px;
  /* padding: 13px 35px; */
  color: var(--violet-middle);
  background-color: var(--white-color);
  font-weight: 700;
  font-size: 18px;
  line-height: 100%;
  text-align: center;
  border: 2px solid var(--violet-middle);
  border-radius: 100px;
  transition: color, background, box-shadow 0.3s ease-in-out;
}

.contacts__button-mobile {
  display: none;
}

.contacts__button:after {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  height: 122%;
  border: 2px solid #c283f3;
  border-radius: 100px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.contacts__button:hover {
  color: var(--white-color);
  background-color: var(--violet-middle);
  /* box-shadow: inset 0 0 0 3px var(--violet-ultra-light); */
  /* outline: 3px solid var(--violet-ultra-light); */
}
.contacts__button:focus::after,
.contacts__button:focus-visible::after {
  opacity: 1;
}
.contacts__button:active {
  color: var(--white-color);
  background-color: #7943a4;
  box-shadow: inset 0 0 0 3px var(--violet-ultra-light);
  /* outline: 3px solid var(--violet-ultra-light); */
}

.just-validate-error-field {
  border: 1px solid #d11616;
}
.just-validate-error-label {
  position: absolute;
  top: -17px;
  left: 24px;
  font-size: 12px;
  color: #d11616;
}
.contacts__input-label {
  display: flex;
  position: relative;
  flex-direction: column-reverse;
}
.contacts__input:hover {
  background: #ececec;
}
.contacts__input:focus-visible {
  outline: none;
  border: 1px solid #333;
  border-radius: 100px;
}
.contacts__input:active {
  border: 1px solid #333;
  background: var(--white-color);
}
.contacts-upper-part__connection {
  display: flex;
  flex-direction: column;
}
.contacts-upper-part__connection-text {
  font-weight: 600;
  font-size: 24px;
  line-height: 133%;
  color: var(--text-color-main);
  margin-bottom: 6px;
}
.contacts-upper-part__connection-icons {
  display: flex;
  font-size: 0;
}
.contacts-upper-part__connection-icon:not(:last-child) {
  margin-right: 20px;
}
.icon {
  transition-property: opacity, border;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.icon:hover,
.icon:focus {
  opacity: 0.5;
}
.icon:active {
  border: 2px solid var(--violet-middle);
  border-radius: 100%;
}

.contacts-ymap {
  height: 700px;
  /* outline: 1px solid blue; */
}
[class*="ground-pane"] {
  filter: grayscale(1);
}
[class*="copyrights-promo"] {
  display: none;
}
[class*="copyrights-pane"] {
  display: none;
}

/* ---------- FOOTER --------- */
.footer {
  display: flex;
  align-items: center;
  background-color: var(--black-color);
  min-height: 140px;
}
.footer__wrap {
  display: flex;
  justify-content: space-between;
}
.logo-footer {
  margin-right: 0;
}
.icons-wrap {
  display: flex;
  font-size: 0;
}
.footer__icons-list:not(:last-child) {
  margin-right: 20px;
}
.footer__icons-link:hover svg path {
  fill: white;
}
.footer__icons-link:focus svg path {
  outline: none;
  fill: var(--white-color);
}

.footer__icons-link:focus svg {
  outline: none;
}

.footer__icons-link:active svg path {
  fill: var(--violet-middle);
}
/* -------------------- ADAPTIVES ------------------------ */

@media (max-width: 1500px) {
  .container {
    max-width: 1500px;
    padding-left: 50px;
    padding-right: 50px;
  }
  /* ------------------- CONTACS SECTION ADAPTIVE 1500px ------------------ */
  .contacts-upper-part {
    flex-direction: column;
    align-items: flex-start;
    padding: 43px 0;
  }
  .contacts-upper-part__address {
    margin-bottom: 30px;
  }
  .contacts__address-location {
    font-size: 14px;
  }
  .contacts-upper-part__inputs {
    margin-bottom: 30px;
  }
  .contacts__input-wrap {
    flex-wrap: wrap;
  }
  .contacts-upper-part__inputs {
    width: 100%;
  }

  .contacts__button {
    width: 343px;
  }
}

@media (max-width: 1400px) {
  .submenu__item:not(:last-child) {
    margin-right: 70px;
  }
}

@media (max-width: 1280px) {
  .container {
    max-width: 1280px;
    padding-left: 50px;
    padding-right: 50px;
  }
  .logo {
    margin-right: 0;
  }
  .header__menu-nav {
    margin: 0 auto;
  }
  .header__menu-item:not(:last-child) {
    margin-right: 50px;
  }
  .submenu__item:not(:last-child) {
    margin-right: 40px;
  }
  .submenu__search-form {
    width: 200px;
  }

  .dropdown {
    width: 210px;
    padding: 20px;
    padding-right: 10px;
  }

  .dropdown__simplebar {
    padding-right: 10px;
  }
  /* ----------------- ABOUT SECTION 1280px ----------------- */
  .section__container {
    max-width: 100%;
  }
  .projects__slide {
    height: 128px;
    padding: 27px 50px;
  }
}

@media (max-width: 1220px) {
  /* --------- CATALOG SECTION 1220px ------------ */

  .content-plug-wrap {
    max-width: 421px;
  }

  .content-plug-left {
    position: relative;
    width: 173px;
    min-height: 114px;
    margin: 8px;
  }

  .content-plug-left::before {
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
  }

  .content-plug-right {
    width: 207px;
  }
}
@media (max-width: 1100px) {
  .container {
    max-width: 1100px;
    padding-left: 50px;
    padding-right: 50px;
  }
  .header__menu-item:not(:last-child) {
    margin-right: 30px;
  }
  .submenu__item:not(:last-child) {
    margin-right: 30px;
  }
  .submenu__search-form {
    width: 160px;
  }
  .modal__window {
    width: 594px;
    min-height: 594px;
  }
}
/* Landscape tablets and medium desktops*/

@media (max-width: 1024px) {
  .container {
    max-width: 1024px;
    padding-left: 50px;
    padding-right: 50px;
  }
  /* Header */
  .header__menu-container {
    justify-content: space-between;
    align-items: center;
  }
  .logo__img {
    margin-bottom: 0;
  }
  .burger {
    display: block;
    z-index: 3;
  }
  /* .burger__icon {
    visibility: hidden;
  } */
  /* .burger__icon.active {
    visibility: visible;
  } */
  .logo {
    width: 188px;
    height: 42px;
  }
  .search {
    display: block;
    align-self: center;
  }
  .header__search.header__search--active .search-icon {
    width: 29px;
    height: 29px;
  }
  .header__search.header__search--active .close-icon {
    width: 23px;
    height: 23px;
  }
  /* .header__container {
      position: relative;
      justify-content: space-between;
    } */
  /* .header__menu.active {
    visibility: visible;
    left: 0;
    align-items: initial;
    z-index: 2;
  } */

  .header__menu {
    position: absolute;
    top: 0;
    left: -1000px;
  }
  .header__menu-main.open .header__menu {
    position: fixed;
    left: 0;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 100px;
    padding-bottom: 50px;
    background: rgba(0, 0, 0, 0.9);
    /* overflow: hidden; */
    /* visibility: hidden; */
    transition: left 0.3s linear;
    z-index: 2;
    overflow-y: auto;
  }

  .header__menu::-webkit-scrollbar {
    display: none;
  }

  /* Hide scrollbar for IE, Edge and Firefox */
  /* .header__menu { */
  /* IE and Edge */
  /* -ms-overflow-style: none;  */
  /* Firefox */
  /* scrollbar-width: none;  */
  /* } */
  /* .header__menu-main.open header {
    position: fixed;
  } */
  body.lock {
    overflow: hidden;
  }
  .header__menu-nav {
    margin: 0;
  }
  .header__menu-list {
    flex-direction: column;
  }
  .header__menu-item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 62px;
  }
  .header__menu-enter {
    margin-left: 0;
    max-width: 257px;
    min-height: 60px;
    font-weight: 600;
    justify-content: center;
    border: 1px solid var(--violet-middle);
    border-radius: 100px;
    margin-bottom: 0;
    margin-top: auto;
  }
  .header__search--active {
    /* right: 0; */
    visibility: visible;
    top: 0;
  }
  .close-icon rect {
    transition: fill 0.3s ease-in-out;
  }
  .header__search-button-close:hover .close-icon rect {
    fill: #9d5cd0;
  }
  .header__search-button-close:focus .close-icon rect {
    fill: #9d5cd0;
  }
  .header__search-button-close:active .close-icon rect {
    fill: #7943a4;
  }
  .header__menu-submenu {
    display: none;
  }
  /* ----------- HERO SECTION ADAPTIVES 1024px --------- */

  .hero {
    min-height: 668px;
  }
  .hero__container {
    padding-top: 105px;
    padding-bottom: 115px;
  }
  .hero__title {
    line-height: 92px;
  }
  .hero__text {
    line-height: 29px;
  }

  /* ------------------ ABOUT SECTION ADAPTIVE 1024 --------------------- */
  /* -------------- Gallery Section ADAPTIVE 1200 ------------------- */
  /* Адаптивная высота слайда регулируется относительно его ширины с помощью padding-top в % для псевдоэлемента ::before */
  .gallery-left-elem {
    width: calc(280 / 924 * 100%);
  }
  .gallery__title {
    margin-bottom: 30px;
  }
  .gallery-left-elem-bottom {
    line-height: 16px;
  }
  .gallery-right-elem {
    width: calc(594 / 924 * 100%);
  }
  .gallery-swiper {
    height: 315px;
  }
  .gallery-slide::before {
    padding-top: calc(85% - 6px);
  }

  /* --------------- GALERY MODAL WINDOW 1024px ----------------- */

  .modal__window {
    width: 594px;
    min-height: 594px;
  }

  /* ------------------- Catalog Section ADAPTIVE 1024------------------- */
  .accordion__question {
    width: 100%;
  }
  .accordion__inner-list {
    column-count: 2;
  }
  .catalog__painter-info-empty-img-wrap {
    height: 274px;
  }

  .catalog-image-empty {
    width: 39.4%;
    height: 62%;
  }

  /* ----------------- EVENT SECTION ADAPTIVE 1024 ------------------ */
  .events__nav-btn {
    display: none;
  }
  .events-pagination {
    display: flex;
    justify-content: center;
  }

  .events__card {
    margin-bottom: 30px;
  }
  .events__card-container {
    padding: 14px 34px 49px 34px;
  }
  .events__card-placeanddate {
    font-weight: 400;
    text-align: right;
    color: #999999;
    margin-bottom: 4px;
  }
  .events__card-title {
    margin-bottom: 5px;
  }
  /* ---------------------------- PROJECTS ADAPTIVE 1024 ----------------- */
  .projects__slide {
    height: 106px;
    padding: 17px 24px;
  }
  /* ------------------ CONTACTS ADAPTIVE 1024 ------------------ */
  .contacts__form {
    display: inline-block;
  }
  .contacts__input-wrap {
    margin-bottom: 12px;
  }
  .contacts__input {
    width: 324px;
  }
  .contacts__button {
    width: 324px;
  }
  /* ----------- FOOTER ADAPTIVE 1024 ------------- */
  .footer {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .footer__icon {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 992px) {
  /* .contacts__input-wrap {
    justify-content: flex-start;
  } */
  .contacts__input {
    width: 324px;
    margin-right: 20px;
    margin-bottom: 17px;
  }
  .contacts__button {
    width: 317px;
  }
}

@media (max-width: 900px) {
  .header__search {
    left: 0;
    right: 0;
    bottom: 0;
    width: initial;
    padding-left: 50px;
    padding-right: 50px;
    z-index: 3;
    background-color: var(--black-color);
  }
  .header__search-form {
    width: 100%;
    display: flex;
    align-items: flex-end;
  }
  .header__search-form label {
    width: 100%;
  }
  .header__search-input {
    width: 100%;
  }
  .header__search.header__search--active .close-icon {
    width: 29px;
    height: 29px;
  }

  .catalog__accordion {
    width: 100%;
  }
  .catalog__wrap {
    flex-direction: column-reverse;
  }
  .catalog__content-wrap {
    width: 100%;
  }
  .accordion__question:last-child {
    margin-bottom: 50px;
  }
  .accordion__inner-list {
    column-count: 3;
  }
  .catalog__painter-info-empty-img-wrap {
    height: 419px;
  }

  .catalog-image-empty {
    width: 29.5%;
    height: 56.32%;
  }
  .contacts__input--tel {
    margin-right: 0;
  }

  .content-plug-wrap {
    max-width: 575px;
  }

  .content-plug-left {
    width: 251px;
    min-height: 165px;
    margin: 12px;
  }

  .content-plug-left::before {
    top: -12px;
    left: -12px;
    right: -12px;
    bottom: -12px;
  }

  .content-plug-right {
    width: 275px;
  }
}

@media (max-width: 768px) {
  .container {
    max-width: 768px;
  }

  .gallery-left-elem {
    width: calc(281 / 668 * 100%);
    margin-bottom: 40px;
  }
  .gallery-select-wrapper {
    margin-bottom: 40px;
  }
  .gallery-right-elem {
    width: 100%;
    padding-top: 0;
  }
  .gallery-swiper {
    height: 330px;
  }

  /* --------------- GALERY MODAL WINDOW 768px ----------------- */

  .modal__window {
    /* width: 668px; */
    width: 100%;
    min-height: 594px;
  }

  /* ----------------- EVENT SECTION ADAPTIVE 768 ------------------ */
  .events__card-container {
    padding: 14px 40px 49px 34px;
  }
  /* ------------- PROJECTS ADAPTIVE 768 ---------------- */
  .projects__slide {
    height: 106px;
    padding: 17px 24px;
  }
  /* ---------------- CATALOG ADAPTIVE 768 ------------- */

  .catalog-image-empty {
    width: 35.33%;
    height: 56.32%;
  }

  /* ------------ CONTACTS ADAPTIVE 768 ------------ */
  /* .contacts__input {
    width: 324px;
  } */
  /* .contacts__button {
    width: 317px;
  } */
  /* .contacts__input {
    margin-right: 0;
  } */
}
/* Portrait tablets and small desktops */
/* @media (min-width: 768px) and (max-width: 991px) {} */
/* Landscape phones and portrait tablets */
/* Portrait phones and smaller */
/* @media (min-width: 480px) {} */
/* Iphone 5 */
@media (max-width: 692px) {
  .hero__title {
    font-size: 48px;
    line-height: 61px;
  }

  .content-plug-wrap {
    max-width: 100%;
  }

  .content-plug-left {
    width: 35%;
    min-height: 120px;
    margin: 6px;
  }

  .content-plug-left::before {
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
  }

  .content-plug-right {
    width: 58%;
  }

  /* --------------- GALERY MODAL WINDOW 692px ----------------- */

  .modal__window {
    /* width: 550px; */
    width: 100%;
    min-height: 600px;
  }
}

@media (max-width: 565px) {
  .container {
    max-width: 565px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  /* --------- HEADER SECTION ADAPTIVE 565px/320px --------- */
  .header {
    min-height: 45px;
  }
  .header__menu-main {
    min-height: 45px;
  }
  .header__menu.active {
    padding-left: 15px;
    padding-bottom: 15px;
  }
  .header__menu-main.open .header__menu {
    padding-left: 15px;
  }

  .header__search {
    padding-left: 15px;
    padding-right: 15px;
  }
  .header__search.header__search--active .close-icon {
    width: 18px;
    height: 18px;
  }
  .header__search.header__search--active .search-icon {
    width: 18px;
    height: 18px;
  }
  .logo {
    min-width: auto;
    width: 97px;
    height: 22px;
  }

  .burger {
    width: 25px;
    height: 18px;
  }

  .burger-strokes {
    width: 25px;
    height: 2px;
  }

  .burger-strokes:nth-child(1) {
    transform: translateY(-7px);
  }

  .burger-strokes:nth-child(2) {
    width: 16px;
  }

  .burger-strokes:nth-child(3) {
    width: 10px;
    transform: translateY(7px);
  }

  .header__menu-main.open .burger {
    width: 15px;
    height: 15px;
  }

  .header__menu-main.open .burger-strokes:nth-child(1) {
    width: 15px;
  }

  .header__menu-main.open .burger-strokes:nth-child(2) {
    width: 15px;
  }

  .header__menu-main.open .burger-strokes:nth-child(3) {
    width: 15px;
  }

  /* .burger__icon {
    width: 25px;
    height: 18px;
  } */
  /* .burger__icon-close {
    width: 15px;
    height: 15px;
  } */
  .search-icon {
    width: 18px;
    height: 18px;
  }
  .close-icon {
    width: 18px;
    height: 18px;
  }
  .fixed {
    top: 15px;
  }
  .header__menu-link {
    font-size: 16px;
    line-height: 200%;
  }
  .header__menu-enter {
    font-size: 12px;
    max-width: 115px;
    min-height: 40px;
  }
  .header__menu-enter-img {
    width: 12px;
    height: 9px;
    margin-left: -3px;
    margin-right: 4px;
  }

  /* ------------------ HERO SECTION 565px/320px ---------------- */

  .hero {
    min-height: 310px;
  }
  .hero__container {
    max-width: 100%;
    padding-top: 30px;
    padding-bottom: 45px;
    padding-left: 15px;
    padding-right: 15px;
    align-items: center;
  }
  .hero__title {
    font-size: 32px;
    line-height: 36px;
    margin-bottom: 16px;
    text-align: center;
  }
  .hero__text {
    font-weight: 400;
    font-size: 12px;
    line-height: 21px;
    text-align: center;
  }
  .hero__link {
    font-size: 12px;
    line-height: 16px;
    padding-top: 11px;
    padding-bottom: 14.45px;
    min-height: 40px;
  }
  .hero__link:after {
    height: 121%;
  }
  /* ------------------- ABOUT SECTION 565px/320px ----------------- */
  .section__title {
    font-size: 28px;
    line-height: 38px;
    margin-bottom: 12px;
  }
  .section__text {
    font-size: 14px;
    line-height: 28px;
  }
  /* --------------- GALLERY SECTION 565px/320px -------------------- */
  .gallery-left-elem {
    width: 100%;
    margin-bottom: 30px;
  }
  .gallery-right-elem {
    flex-direction: column-reverse;
  }

  .gallery-select-wrapper {
    max-width: 100%;
    margin-bottom: 30px;
  }
  .gallery-swiper {
    height: auto;
    margin-bottom: 20px;
  }
  .gallery-navigation {
    align-self: center;
    margin: 0;
  }
  .gallery-slide::before {
    padding-top: calc(110% - 6px);
  }
  .gallery-left-elem-bottom {
    line-height: 18px;
  }

  /* --------------- GALERY MODAL WINDOW 565px ----------------- */

  .modal__window {
    /* width: 535px; */
    width: 100%;
    min-height: 600px;
  }

  .gallery-modal__window {
    flex-direction: column;
  }

  .gallery-modal__descr {
    padding-left: 20px;
    padding-right: 21px;
    padding-bottom: 26px;
    padding-top: 17px;
  }

  /* ---------- CATALOG SECTION ADAPTIVE 565px/320px ------------- */
  .accordion__inner-list {
    column-count: 1;
  }

  .catalog__painter-info-empty-img-wrap {
    height: 331px;
  }

  .catalog-image-empty {
    width: 50%;
    height: 50%;
  }
  .catalog-painter-name-empty {
    font-size: 18px;
  }

  .content-plug__title {
    font-size: 18px;
    line-height: 178%;
  }
  /* --------------------------- EVENT SECTION--------------------------------- */
  /* ----------------- EVENT SECTION ADAPTIVE 565px/320px ------------------ */
  .events__card-container {
    padding: 17px 33px 49px 23px;
  }
  /* ------------- PROJECTS ADAPTIVE 565px / 320px ----------------- */
  .projects__slide {
    height: 65px;
    padding: 14px 27px;
  }
  /* --------------- CONTACTS ADAPTIVE 565px / 320px ------------------ */
  .contacts {
    padding-bottom: 0;
  }
  .contacts-upper-part {
    padding-top: 0;
    padding-bottom: 20px;
  }
  .contacts-upper-part__address {
    margin-bottom: 20px;
  }
  .contacts__address-name {
    font-size: 18px;
  }
  .contacts__address-location {
    font-size: 14px;
  }
  .contacts__input-wrap {
    margin-bottom: 0;
  }
  .contacts__input {
    width: 290px;
    height: 40px;
    margin-bottom: 20px;
    margin-right: 0;
  }
  .contacts__button {
    position: relative;
    width: 128px;
    height: 40px;
    font-size: 12px;
  }

  /* .contacts__button:before {
    content: "Заказать";
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    padding: 12px 35px;
    visibility: visible;
    border: 2px solid #9d5cd0;
    box-sizing: border-box;
    border-radius: 100px;
    font-size: 12px;
  } */

  .contacts__button-mobile {
    display: initial;
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: space-around; */
    width: 100%;
    height: 100%;
  }

  .contacts__button-not-mobile {
    display: none;
  }

  .contacts__button:after {
    height: 128%;
  }

  .contacts-upper-part__connection-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 178%;
    margin-bottom: 10px;
  }
  .contacts-upper-part__connection-icon > svg {
    width: 50px;
    height: 50px;
  }

  /* ------ FOOTER ADAPTIVE 565px/320px -------- */
  .footer {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .logo-footer {
    width: 97px;
    height: 22px;
    min-width: initial;
  }
  .footer__wrap {
    flex-direction: column-reverse;
    align-items: center;
  }
  .icons-wrap {
    margin-bottom: 20px;
  }
  .footer__icon {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 320px) {
  .contacts__input {
    width: 100%;
    margin-right: 0;
  }

  .catalog__painter-info-empty-img-wrap {
    height: 181px;
  }

  .catalog-image-empty {
    width: 36.9%;
    height: 59.12%;
  }

  .content-plug-wrap {
    max-width: 289px;
  }

  .content-plug-left {
    width: 79px;
    min-height: 118px;
    margin: 6px;
  }

  .content-plug-left::before {
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
  }

  .content-plug-right {
    width: 174px;
  }

  /* --------------- GALERY MODAL WINDOW 320px ----------------- */

  .modal__window {
    /* width: 290px; */
    width: 100%;
    min-height: 600px;
  }
}
